package three;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: fzykd
 * Date: 2023-03-01
 * Time: 22:58
 */

public class Demo2 {
    public static void main(String[] args) {
        //创建对象
        ChangHong1 changHong1 = new ChangHong1();
        //创建方法 通过构造器传递
        OpenAndClose1 openAndClose1 = new OpenAndClose1(changHong1);
        openAndClose1.open();

    }
}

class ChangHong1 implements ITV1{
    @Override
    public void play() {
        System.out.println("打开长虹电视!");
    }
}


//方式二 通过构造方法 传递依赖
interface IOpenAndClose1{
    public void open(); //抽象方法 是个接口 但是没有接收接口参数了
}
interface ITV1{ //ITV接口
    public void play();
}

class OpenAndClose1 implements IOpenAndClose1{
    public ITV1 itv1; //成员 是一个接口 怎么传进来的呢？
    public OpenAndClose1(ITV1 itv1){ //通过这个构造方法 传进来的接口!!!
        // 构造器
        this.itv1 = itv1;
    }

    public void open(){
        this.itv1.play();
    }
}
